In computing environments, a fixed point number may represent a real number. The fixed point number may include a fixed number of digits after the decimal point and/or before the decimal point. Commonly, in computing environments, the fixed point numbers are binary fixed point numbers. In fixed point divide (i.e., the division of fixed point numbers), a fixed point denominator may be inspected to determine a leading number of zeros (i.e., any zeros that lead a number string in the positional notation of the fixed point number) in the fixed point denominator. The denominator may then be shifted left by the number of zeros to generate a shifted denominator. The shifted denominator or the most significant portion of the shifted denominator may be used, via a lookup table for example, to determine a shifted denominator inverse (i.e., an inverse associated with the shifted denominator). As will be appreciated, the shifted denominator inverse may be an approximation of the actual inverse of the shifted denominator.
The shifted denominator inverse may then be multiplied by a fixed point numerator to determine a temporary result. The temporary result may be shifted right to form a divide result, which may be clamped and used for a variety of purposes. For example, in graphics processing, fixed point divide may be an important feature of a graphics processing unit. The fixed point divide may be called upon in a variety of circumstances such as image manipulation, interpolation, or the like. As will be appreciated, in the described implementation, a number of transistor gates (and associated silicon surface area) must be utilized for the multiplication of the shifted denominator inverse and the fixed point numerator. In general, it may be advantageous to reduce the number of gates and associated silicon surface area. Further, it may be advantageous to increase the precision of the fixed point divide.